This disclosure relates to communications systems, and more particularly to a method and a system for delivering customized communications services to users.
Few industries have experienced as rapid and drastic changes as the communications industry in the last fifteen years. Those changes partially caused by the increased deregulation of the communications industry have resulted in two separate legacy networking infrastructures for voice and data communications services delivery. The networking infrastructures, namely the Internet and the traditional communications carriers"" network, feature divergent service delivery models and different approaches to service creation.
On one hand, the Internet has fundamentally changed the landscape of traditional communications services by offering a uniform service model that provides a technological platform which facilitates rapid communications service creation. Key factors in the Internet architecture include the separation of responsibility between the network and the end-points, and limited integration of service software into the underlying network. In essence, the network is responsible for delivering packets without caring for their xe2x80x9cmeaningxe2x80x9d while the end hosts are responsible for applying service semantics to give xe2x80x9cmeaningxe2x80x9d to the packets received. In other words, a network of limited intelligence provides basic communications services to sophisticated and intelligent end-points. For example, in Java applications, the Internet delivers to a server packets transmitted thereto by a client which receives in return from the server (via the Internet) a particular set of instructions for execution by the client. Thus, communications services delivered via the Internet can be created by storing the appropriate software on the server and services request parameters on the client without introducing any changes in the configuration or capacity of network nodes. Another advantage of the Internet architecture is that services are associated with users independently of their location or point of access to the network. Unfortunately, the loose coupling of networking nodes and limited integration of service software in the Internet architecture result in poor service quality in general, and unpredictable response time in particular.
In contrast, the traditional telecommunications infrastructure is a tightly knit web of hardware and software, where service logic is interwoven with the network fabric at all levels thereof. For example, freephone service, commonly known as xe2x80x9c800 servicexe2x80x9d involves network-based service logic at different levels. To wit, the network performs functions that include address or name resolution, load balancing, time-of-day sensitive routing, and reverse charging, to name a few. From a general perspective, inbound communications services are provided to users by executing network-based software programs that sometimes use as input subscriber data previously stored in the service provider network. On the other hand, outbound communications services are provided based on the features associated with the caller""s ANI, as opposed to the caller""s identity. While service integration promotes network performance, it unfortunately introduces undesirable side effects. For example, subscribers of communications services deplore the fact that they are treated as xe2x80x9cphone jacksxe2x80x9d as opposed to customers with real needs for features that are independent of their point of access to, or egress from, the network. Furthermore, introduction of new services in traditional networks is unduly complex, prone to delays, and costly because provisioning for the new services typically impacts one or more existing services. While the tight integration of hardware and software is understandably motivated by the high networking standards of quality and performance, there is a growing need for cost effective architecture for service and network management comparable in flexibility to the Internet, yet capable of maintaining the high service quality of the traditional telecommunications infrastructure for increasingly complex communications services.
Another problem of the prior art is the inability of subscribers to request from their service providers communications services tailored to their particular needs. For example, users cannot define service features on demand, nor customize service features per user per call dynamically. Hence, there is an unfulfilled need for communications services users to create their own communications services for delivery by communications services providers.
The present disclosure is directed to a communications system that is designed to receive programmed instructions from an end-user device, invoke within the network the necessary processes that are needed to execute these instructions, and to marshal and allocate the needed resources to deliver a communications service requested by the sender of the programmed instructions. Needed resources may be mustered from within or outside of the network to implement call-by-call provisioning for delivery of a communications service transparently across domains of network ownership and across heterogeneous communication technology (wireless, Internet, broadband, narrowband). Hence, network provisioning and management functions are de-coupled from service management and delivery functions. In addition, the requested communications service may be dynamically created by the execution of the programmed instructions. As used herein the expression xe2x80x9cprogrammed instructionsxe2x80x9d refers to service-specific data and the logic to interpret such data.
In an embodiment of the principles disclosed herein, a user may design a software program that allows a set of telephone numbers to be dialed in a particular sequence for communications with one or more persons associated with those telephone numbers. The programming instructions of the software program are stored in the memory of an end-user device. When a user of the device uploads into the network the programming instructions of the software program to request the communications service associated therewith, a processor in the network executes those instructions to dial those numbers in the sequence indicated in the software program. Upon detecting a ring-no-answer or a busy-line condition for a dialed telephone number, the processor returns a signal indicative of the encountered condition to the programmed instructions which then instruct the processor to proceed to dial the next number in the sequence. When one of the calls is answered by a called party, the network establishes a communications path between the user (or user application) of the device and the called party. Optionally, the programmed instructions may direct the network to deliver an electronic-mail message indicative of the time, the date and the different telephone numbers dialed by the network to deliver the requested communications service.
In another example of the principles disclosed herein, an end-user device may upload to a communications system programming instructions to request that an audio or video call be routed over a particular communications carrier network that is selected by the communications system based on instructions-indicated parameters that may include, for example, tariff rates, sound and/video quality, network congestion level, to name a few.
In yet another example of the principles disclosed herein, a user may upload programming instructions to a switched video communications system to request therefrom a multimedia file or a movie that is selected based on parameters defined in the programming instructions. These parameters may include, for example, characteristics associated with the content of the multimedia file, such as the language in the audio component of the file, particular images in the multimedia file.